package com.qcby.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qcby.entity.TOrder;
import com.qcby.form.TOrderCreateForm;
import com.qcby.form.TOrderListForm;
import com.qcby.vo.PageVO;
import com.qcby.vo.TOrderDetailVO;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author admin
 * @since 2025-02-04
 */
public interface TOrderService extends IService<TOrder> {
    
    /**
     * 订单列表查询
     */
    PageVO orderList(TOrderListForm form);
    
    /**
     * 创建订单
     */
    void createOrder(TOrderCreateForm form);
    
    /**
     * 获取订单详情
     */
    TOrderDetailVO getOrderDetail(Integer orderId);
    
    /**
     * 支付订单
     */
    void payOrder(Integer orderId);
    
    /**
     * 发货
     */
    void deliverOrder(Integer orderId);
    
    /**
     * 申请退款
     */
    void applyRefund(Integer orderId);
    
    /**
     * 确认退款
     */
    void confirmRefund(Integer orderId);
    
    /**
     * 标记订单异常
     */
    void markOrderException(Integer orderId, String reason);
}
